X | |
Y | Z |
Figura 1: Exemplu de afisare cu cadre.
filename: a.html
<html>
<head></html><title> A </title></head><frameset rows = *,*>
<frame src = "x.html" name = "upper"></frameset>
<frameset cols = *,*><frame src = "y.html" name = "lower_left"></frameset>
<frame src = "z.html" name = "lower_right">
Formatul documentului frameset este similar unui body document. Incepe si se termina cu etichetele <html> </html> si contine header si title.. Etichetele <frameset> declara impartirea cadrelor iar etichetele <frame> sunt folosite pentru definirea cadrelor (etichetele <frame> nu necesita perechea de inchidere </frame>).
Etichete <frameset>
Reprezinta primul pas in crearea
cadrelor si decsriu divizarea ferestrei in cadre mai mici. Fiecare declaratie
frameset poate imparti fereastra in randuri sau in coloane, nu in ambele
in acelasi timp. Pentru obtinerea unei ferestre ca in figura 1,
trebuie intai impartita fereastra in doua randuri (top si bottom), apoi randul
bottom (de jos) este impartit in doua coloane (lower left si lower right).
Dimensionarea fiecarui cadru poate fi realizata prin specificarea numarului de
pixeli, % din dimensiunea ferestrei sau dimensiuni relative. Spre exemplu:
<frameset rows = 30, 40%, *, 2*>
divide fereastra in patru row frames, fiecare avand dimensiunile enumerate in
lista: primul rand are 30 pixels inaltime, al doilea are 40% din inaltimea
totala a ferestrei. Folosirea wildcard-ului "*" se refera la "restul ferestrei":
deci restul ferestrei este impartit in alte doua cadre, ultimul dintre ele fiind
de doua ori mai mare decat primul. Figura 2 arata rezultatul acestei declaratii
(dimensiunea de 30 pixels va fi caracterizata de marimea ferestrei de navigare):
30 pixels in inaltime |
40% din inaltimea ferestrei |
1/3 of restul ferestrei |
2/3 din restul
ferestrei |
Figura 2.
Cel mai avantajos mod de lucru este prin procentaj si cel putin un "*". In fisierul a.html spre exemplu, fereastra este divizata in doua randuri egale prin rows = *,* (similar cu "50%, 50%" or "50%,*").
Observatie: Fiecare cadru poate fi la randul sau impartit in coloane sau randuri (daca fereastra a fost initial impartita in coloane, fiecare cadru rezultat va fi impartit apoi in randuri. Exista doua modalitati de divizare a cadrelor: direct nesting si indirect nesting.
Ancorarea (Targeting)
Fara cadre, folosirea unui
hyperlink implica schimbarea intregii ferestre prin aducerea continutului
paginii destinatie a legaturii. Prin folosirea cadrelor, actualizarea se poate
realiza pe cadre individuale, colectii de cadre sau pe intreaga fereastra prin
folosirea ancorelor (targets= numele cadrelor specificate prin definitii
<frame name = ...> ). Ancorele sunt specificate in declaratia
hyperlink din body document.
Spre exemplu, sa presupunem ca body documentul z.html contine un hyperlink:
<a href = "b.html" target = "upper"> Click here </a>
Cand se selecteaza hyperlink-ul in cadrul din dreapta (unde este localizat z.html), cadrul de sus se va schimba din x.html in b.html. Deci prin alegerea unui hyperlink intr-un cadru se poate actualiza un alt cadru fara modificarea celorlalte. Analog, target poate fi ales "lower_left" or "lower_right" pentru actualizarea cadrelor din partea de jos a ferestrei.